// 这个函数用于将虚拟节点转化成真实的dom节点

export default function createElement(vnode){
	// 创建一个dom节点，这个节点是一个孤儿节点
	let domNode = document.createElement(vnode.sel);
	// 判断这个节点是有子节点还是有文本
	if(vnode.text != '' && (vnode.children == undefined || vnode.children.length ==0)){
		// 它内部是文字
		domNode.innerText=vnode.text;
	}
	else if(Array.isArray(vnode.children) && vnode.children.length >0){
		// 它内部是子节点，就要递归创建节点
		for(var i; i<vnode.children.length;i++){
			// 得到当前这个children
			let ch = vnode.children[i];
			// 创建出他的dom，一旦调用createElemet函数意味着：创建出dom了，并且他的elm属性指向了新创建出的dom，但是还没有上树，是一个孤儿节点
			let chDom = createElement(ch);
			// 上树
			domNode.appendChild(chDom);
		}
	}
	// 补充elm属性
	vnode.elm = domNode;
	// 返回这个elm，elm这个属性是一个纯dom对象
	return vnode.elm
}